﻿#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
#include<string.h>


//int main()
//{
//	int a = 0x12345678;
//	//在内存中存储是 78 56 34 12；以字节为单位的倒序
//
//	return 0;
//}


//字符串左旋
//第二版

//void func(char* arr, int len, int k)
//{
//	int n = k % len;
//	char Arr[100] = { 0 };
//
//	strcpy(Arr, arr + n);
//	strncat(Arr, arr, n);
//	strcpy(arr, Arr);
//}
//
//int main()
//{
//	char arr[] = "abcdef";
//	int len = strlen(arr);
//	int k = 0;
//	scanf("%d", &k);
//
//	func(arr, len, k);
//	printf("%s\n", arr);
//
//	return 0;
//}


//调整数组使奇数全部都位于偶数前面。

void func(int* arr, int len)
{
	int* left = arr;
	int* right = arr + len - 1;

	//while (*left < *right)

	while (left < right)
	{
		//while (*left < *right && *left % 2 == 1)

		while (left < right && *left % 2 == 1)
		{
			left++;
		}
		//while (*left < *right && *right % 2 == 0)

		while (left < right && *right % 2 == 0)
		{ 
	
			//right++;
			
			right--;
		}
		int tmp = *left;
		*left = *right;
		*right = tmp;
	}
}

//   while (*left < *right)  不要用 解引⽤ 来比较

void print(int* arr,int len)
{
	for (int i = 0; i < len; i++)
	{
		printf("%d ", *(arr + i));
	}
}

int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8 };
	int len = sizeof(arr) / sizeof(arr[0]);

	func(arr, len);
	print(arr,len);

	return 0;
}